/*
 * Beca.cpp
 *
 *  Created on: Nov 7, 2012
 *      Author: Carlos Alegría Galicia
 */

#include "Beca.h"

namespace poo
{

  // Implementación del constructor de la clase
  //
  Beca::Beca(const string &nombre, const string &institucion,
      NivelDeEstudios nivel) :
      nombre(nombre), institucion(institucion), nivel(nivel)
  {
  }

  // Implementación del destructor de la clase
  //
  Beca::~Beca()
  {
  }

  ostream &
  operator<<(ostream &out, NivelDeEstudios nivel)
  {
    switch (nivel)
    {
    case LICENCIATURA:
      out << "Licenciatura" << endl;
      break;
    case MAESTRIA:
      out << "Mestría" << endl;
      break;
    case DOCTORADO:
      out << "Doctorado" << endl;
      break;
    }

    return out;
  }

  ostream &
  operator<<(ostream &out, const Beca *beca)
  {
    out << "Beca " << beca->nombre << " otorgada por " << beca->institucion
            << " para estudiantes de nivel " << beca->nivel;
    return out;
  }

} /* namespace poo */
